package kr.hkit.powerjava.chapter20;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArraysEx { //492페이지 활용
	public static void main(String[] args) {
		ArrayList<Integer> arList = new ArrayList<>(); //앞으로 숫자만 받겠다!
		for(int i =1; i<11; i++) {
			arList.add(i); //autoboxing에 의해서 감싸져 들어가짐
		}

		for (int a:arList) {
			System.out.printf("%-3d",a); //들어갈때는 참조형. 나올때는 프리미티브
		} //unboxing ! //-붙이면 왼쪽정렬
		
		System.out.println();
		for (int a:arList) {
			System.out.printf("%3d",a); //오른쪽 정렬. // -는 왼쪽정렬 
		}
		
	
		
		 //배열을 리스트 형태로 하고 싶을때는? 
		System.out.println(); //이 배열의 숫자들을 리스트형태로 만들어줌 
		List<Integer> list = Arrays.asList(1,2,3,4,5,6,7);  
		for(int i = 0; i < list.size(); i++) {
			System.out.print(list.get(i));
		}
		
		
		//바이너리서치
		int[] arr = new int[10];
		for(int i =0; i<10; i++) {
			arr[i] = i+1; 
		}
		System.out.println();
		for(int a : arr) {
			System.out.printf("%3d", a);
		}
		
		System.out.println();
		int idx = Arrays.binarySearch(arr, 5);
		System.out.println("5의 위치는? " + idx);
		int idx2 = Arrays.binarySearch(arr, 11); //마이너스 나오면 못찾는 것
		System.out.println("11의 위치는? " + idx2);
		
		
		boolean[] lotto = new boolean[45];
		Arrays.fill(lotto, true); //로또배열에 true로 초기화하자 
		for(boolean b : lotto) {
			System.out.print(b + " ");
		}
		
	}
}
